﻿//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using FlexiCommerce.Collections;
//using FlexiCommerce.Components;
//using NUnit.Framework;

//namespace FlexiCommerce.Tests.Collections
//{
//    [TestFixture]
//    public class DuplicateFilterTests : FilterTestsBase
//    {
//        [Test]
//        public void CanRemoveTwoDuplicatesWithStaticMethod()
//        {
//            Category item = CreateOneCategory(1, "one", null);
//            ItemList<Category> list = new ItemList<Category>();
//            list.Add(item);
//            list.Add(item);
//            DuplicateFilter<Category>.FilterDuplicates(list);
//            Assert.AreEqual(1, list.Count);
//        }

//        [Test]
//        public void CanRemoveTwoDuplicatesWithWithFilterInstance()
//        {
//            Category item = CreateOneCategory(1, "one", null);
//            ItemList<Category> list = new ItemList<Category>();
//            list.Add(item);
//            list.Add(item);
//            DuplicateFilter<Category> filter = new DuplicateFilter<Category>();
//            filter.Filter(list);
//            Assert.AreEqual(1, list.Count);
//        }

//        [Test]
//        public void CanRemoveSeveralDuplicatesWithWithFilterInstance()
//        {
//            Category item = CreateOneCategory(1, "one", null);
//            Category item2 = CreateOneCategory(2, "two", null);
//            Category item3 = CreateOneCategory(3, "three", null);
//            ItemList<Category> list = new ItemList<Category>();
//            list.Add(item);
//            list.Add(item2);
//            list.Add(item2);
//            list.Add(item3);
//            list.Add(item3);
//            list.Add(item3);

//            DuplicateFilter<Category> filter = new DuplicateFilter<Category>();
//            filter.Filter(list);
//            Assert.AreEqual(3, list.Count);
//        }


//        [Test]
//        public void CanClearDuplicateFilter()
//        {
//            Category item = CreateOneCategory(1, "one", null);
//            ItemList<Category> list = new ItemList<Category>();
//            list.Add(item);
//            list.Add(item);
//            list.Add(item);

//            DuplicateFilter<Category> filter = new DuplicateFilter<Category>();
//            filter.Filter(list);
//            Assert.AreEqual(1, list.Count);
//            filter.Clear();
//            filter.Filter(list);
//            Assert.AreEqual(1, list.Count);
//        }
//    }
//}
